chore(pre-commit.ci): pre-commit autoupdate - #45
Conversation
✅
|
| Descriptor | Linter | Files | Fixed | Errors | Warnings | Elapsed time |
|---|---|---|---|---|---|---|
| ✅ BASH | shellcheck | 2 | 0 | 0 | 0.03s | |
| ✅ BASH | shfmt | 2 | 0 | 0 | 0 | 1.06s |
| jscpd | yes | 313 | no | 9.1s | ||
| ✅ JSON | prettier | 7 | 0 | 0 | 0 | 1.96s |
| ✅ JSON | v8r | 7 | 0 | 0 | 5.01s | |
| ruff | yes | yes | 1 | no | 0.55s | |
| ✅ REPOSITORY | git_diff | yes | no | no | 1.02s | |
| cspell | 221 | 3 | 0 | 7.83s | ||
| ✅ YAML | prettier | 4 | 0 | 0 | 0 | 1.71s |
| ✅ YAML | v8r | 4 | 0 | 0 | 5.69s | |
| ✅ YAML | yamllint | 4 | 0 | 0 | 0.55s |
Detailed Issues
⚠️ SPELL / cspell - 3 errors
src/liblaf/apple/inverse/_inverse.py:12:5 - Unknown word (Cupy) -- CupyMinRes,
Suggestions: [cuyp, Cuyp, Copy, Cups, Cuppy]
src/liblaf/apple/inverse/_inverse.py:93:13 - Unknown word (Cupy) -- CupyMinRes(tol=1e-6),
Suggestions: [cuyp, Cuyp, Copy, Cups, Cuppy]
tmp.6NE8UxMvCk/renovate-config.json:28:4 - Unknown word (pyenv) -- "pyenv": {
Suggestions: [peen, pena, pend, peng, penh]
CSpell: Files checked: 221, Issues found: 3 in 2 files.
You can skip this misspellings by defining the following .cspell.json file at the root of your repository
Of course, please correct real typos before :)
{
"version": "0.2",
"language": "en",
"ignorePaths": [
"**/node_modules/**",
"**/vscode-extension/**",
"**/.git/**",
"**/.pnpm-lock.json",
".vscode",
"package-lock.json",
"megalinter-reports"
],
"words": [
"Cupy",
"pyenv"
]
}
You can also copy-paste megalinter-reports/LINTER_DEFAULT at the root of your repository
⚠️ COPYPASTE / jscpd - 313 errors
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-bunny-bunny/main.py [1:1 - 14:5] (13 lines, 115 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [1:1 - 14:4]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-bunny-bunny/main.py [22:5 - 84:78] (62 lines, 768 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [22:5 - 84:8]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-bunny-bunny/main.py [87:5 - 114:2] (27 lines, 319 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [84:4 - 111:2]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-bunny/main.py [21:5 - 35:7] (14 lines, 116 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-bunny/main.py [17:5 - 31:4]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-bunny/main.py [58:1 - 67:4] (9 lines, 151 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [31:1 - 40:3]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-bunny/main.py [67:3 - 77:9] (10 lines, 124 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [40:3 - 49:6]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-bunny/main.py [81:9 - 88:5] (7 lines, 101 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [52:9 - 59:7]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-bunny/main.py [90:4 - 100:5] (10 lines, 128 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [58:2 - 68:4]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-bunny/main.py [100:2 - 116:4] (16 lines, 181 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [68:2 - 84:10]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-bunny/main.py [116:6 - 132:5] (16 lines, 200 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [87:5 - 103:13]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-box/main.py [1:1 - 50:5] (49 lines, 490 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny/main.py [1:1 - 50:3]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-box/main.py [52:9 - 79:28] (27 lines, 359 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny/main.py [54:2 - 81:3]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-box/main.py [78:9 - 96:75] (18 lines, 224 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [49:10 - 96:8]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-box/main.py [104:5 - 142:10] (38 lines, 481 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny/main.py [97:8 - 105:12]
Clone found (python):
- tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [50:6 - 60:2] (10 lines, 99 tokens)
tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [24:1 - 34:7]
Clone found (python):
- tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [64:5 - 73:8] (9 lines, 160 tokens)
tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [41:5 - 50:8]
Clone found (python):
- tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [77:3 - 83:8] (6 lines, 75 tokens)
tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [28:2 - 34:7]
Clone found (python):
- tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [86:5 - 95:8] (9 lines, 160 tokens)
tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [41:5 - 50:8]
Clone found (python):
- tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [95:8 - 105:8] (10 lines, 116 tokens)
tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [50:8 - 34:7]
Clone found (python):
- tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [108:5 - 117:12] (9 lines, 158 tokens)
tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [41:5 - 50:4]
Clone found (python):
- tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [141:3 - 150:13] (9 lines, 90 tokens)
tests/warp/energies/elastic/hyperelastic/func/test_hess_quad.py [130:3 - 139:13]
Clone found (python):
- tests/warp/energies/elastic/hyperelastic/func/test_hess_prod.py [99:8 - 109:22] (10 lines, 97 tokens)
tests/warp/energies/elastic/hyperelastic/func/test_hess_prod.py [76:8 - 86:13]
Clone found (python):
- tests/warp/energies/elastic/hyperelastic/func/test_hess_prod.py [109:22 - 120:6] (11 lines, 182 tokens)
tests/warp/energies/elastic/hyperelastic/func/test_hess_prod.py [86:13 - 97:5]
Clone found (python):
- tests/warp/energies/elastic/hyperelastic/func/test_hess_prod.py [120:6 - 125:2] (5 lines, 93 tokens)
tests/warp/energies/elastic/hyperelastic/func/test_hess_prod.py [97:5 - 104:2]
Clone found (python):
- tests/warp/energies/elastic/hyperelastic/func/test_hess_diag.py [68:5 - 73:13] (5 lines, 65 tokens)
tests/warp/energies/elastic/hyperelastic/func/test_hess_prod.py [81:5 - 86:13]
Clone found (python):
- tests/warp/energies/elastic/hyperelastic/func/test_hess_diag.py [74:5 - 85:11] (11 lines, 208 tokens)
tests/warp/energies/elastic/hyperelastic/func/test_hess_prod.py [88:5 - 99:11]
Clone found (python):
- tests/warp/energies/elastic/hyperelastic/func/test_hess_diag.py [85:8 - 94:22] (9 lines, 83 tokens)
tests/warp/energies/elastic/hyperelastic/func/test_hess_diag.py [64:8 - 86:13]
Clone found (python):
- tests/warp/energies/elastic/hyperelastic/func/test_hess_diag.py [94:22 - 106:11] (12 lines, 211 tokens)
tests/warp/energies/elastic/hyperelastic/func/test_hess_diag.py [73:13 - 122:11]
Clone found (python):
- tests/warp/energies/elastic/hyperelastic/func/test_hess_diag.py [104:6 - 109:2] (5 lines, 80 tokens)
tests/warp/energies/elastic/hyperelastic/func/test_hess_diag.py [83:5 - 89:2]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_base.py [233:6 - 240:2] (7 lines, 88 tokens)
src/liblaf/apple/warp/energies/elastic/_base.py [211:7 - 218:7]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_base.py [257:8 - 264:4] (7 lines, 92 tokens)
src/liblaf/apple/warp/energies/elastic/_base.py [211:8 - 218:7]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_base.py [275:12 - 281:5] (6 lines, 75 tokens)
src/liblaf/apple/warp/energies/elastic/_base.py [251:11 - 257:7]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_base.py [281:5 - 289:10] (8 lines, 106 tokens)
src/liblaf/apple/warp/energies/elastic/_base.py [211:7 - 241:7]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_base.py [314:9 - 320:7] (6 lines, 84 tokens)
src/liblaf/apple/warp/energies/elastic/_base.py [212:9 - 218:7]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_base.py [340:2 - 350:7] (10 lines, 138 tokens)
src/liblaf/apple/warp/energies/elastic/_base.py [308:2 - 318:10]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_base.py [379:9 - 386:7] (7 lines, 101 tokens)
src/liblaf/apple/warp/energies/elastic/_base.py [346:9 - 353:7]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [9:1 - 25:33] (16 lines, 99 tokens)
src/liblaf/apple/warp/energies/elastic/_vol_preserve_det.py [7:1 - 23:53]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [122:5 - 148:2] (26 lines, 200 tokens)
src/liblaf/apple/warp/energies/elastic/_vol_preserve_det.py [119:5 - 145:10]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [1:1 - 31:2] (30 lines, 241 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [1:1 - 31:2]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [33:2 - 44:2] (11 lines, 91 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [32:2 - 43:2]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [40:6 - 46:9] (6 lines, 82 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [27:7 - 33:2]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [46:2 - 57:2] (11 lines, 119 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [44:2 - 55:2]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [61:7 - 80:2] (19 lines, 170 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [57:5 - 76:2]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [76:6 - 83:8] (7 lines, 96 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [53:6 - 60:8]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [84:7 - 103:2] (19 lines, 170 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [78:5 - 97:2]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [99:7 - 106:8] (7 lines, 96 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [53:6 - 60:8]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap_muscle.py [113:15 - 169:10] (56 lines, 508 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [105:18 - 161:10]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap.py [4:1 - 25:26] (21 lines, 136 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [4:1 - 23:53]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap.py [71:2 - 79:21] (8 lines, 84 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [77:2 - 85:28]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap.py [91:2 - 98:9] (7 lines, 82 tokens)
src/liblaf/apple/warp/energies/elastic/_arap_muscle_old.py [98:2 - 105:18]
Clone found (python):
- src/liblaf/apple/warp/energies/elastic/_arap.py [109:21 - 139:18] (30 lines, 243 tokens)
src/liblaf/apple/warp/energies/elastic/_vol_preserve_det.py [119:5 - 149:43]
Clone found (python):
- exp/2026/03/11/test-inverse/src/30-inverse.py [122:2 - 133:6] (11 lines, 121 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [106:2 - 117:7]
Clone found (python):
- exp/2026/03/11/test-inverse/src/20-forward.py [36:5 - 49:5] (13 lines, 89 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [56:5 - 69:14]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse.py [1:1 - 15:2] (14 lines, 136 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [1:1 - 16:5]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse.py [24:1 - 43:7] (19 lines, 196 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [20:1 - 39:6]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse.py [86:5 - 97:12] (11 lines, 110 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [60:5 - 71:7]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse.py [109:5 - 122:7] (13 lines, 123 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [81:5 - 94:6]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse.py [123:15 - 128:2] (5 lines, 73 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [94:12 - 98:24]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse.py [128:32 - 140:7] (12 lines, 126 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [98:24 - 109:5]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse.py [146:7 - 156:7] (10 lines, 104 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [115:5 - 125:5]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse.py [153:2 - 164:6] (11 lines, 121 tokens)
exp/2026/01/28/smas/src/30-inverse.py [137:2 - 148:7]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse-unreachable.py [21:1 - 48:30] (27 lines, 266 tokens)
exp/2026/01/28/smas/src/30-inverse.py [16:1 - 43:29]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse-unreachable.py [51:1 - 65:61] (14 lines, 165 tokens)
exp/2026/01/28/smas/src/30-inverse.py [46:1 - 60:5]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse-unreachable.py [70:5 - 106:5] (36 lines, 370 tokens)
exp/2026/01/28/smas/src/30-inverse.py [65:5 - 101:59]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse-unreachable.py [108:5 - 121:2] (13 lines, 113 tokens)
exp/2026/01/28/smas/src/30-inverse.py [103:5 - 116:10]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse-unreachable.py [125:7 - 131:44] (6 lines, 85 tokens)
exp/2026/01/28/smas/src/30-inverse.py [122:2 - 128:32]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse-unreachable.py [140:13 - 166:2] (26 lines, 298 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [107:13 - 133:17]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse-test.py [1:1 - 15:2] (14 lines, 129 tokens)
exp/2026/03/11/test-inverse/src/30-inverse.py [1:1 - 15:11]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse-test.py [23:1 - 49:34] (26 lines, 248 tokens)
exp/2026/01/28/smas/src/30-inverse.py [17:1 - 43:29]
Clone found (python):
- exp/2026/01/28/smas/src/30-inverse-test.py [52:1 - 69:5] (17 lines, 224 tokens)
exp/2026/01/28/smas/src/30-inverse.py [46:1 - 63:63]
Clone
(Truncated to 13333 characters out of 58060)
⚠️ PYTHON / ruff - 1 error
RUF059 Unpacked variable `sigma` is never used
--> test_svd.py:9:8
|
7 | @wp.func
8 | def svd_rv(F: wp.mat33):
9 | U, sigma, V = wp.svd3(F)
| ^^^^^
10 | return U @ wp.transpose(V)
|
help: Prefix it with an underscore or any other dummy variable pattern
Found 1 error.
No fixes available (1 hidden fix can be enabled with the `--unsafe-fixes` option).
See detailed reports in MegaLinter artifacts
❌ 12 Tests Failed:
View the full list of 12 ❄️ flaky test(s)
To view more test analytics, go to the Test Analytics Dashboard |
86cc5fa to
7da7494
Compare
7da7494 to
00e7d59
Compare
00e7d59 to
125b03c
Compare
a60b0bb to
7c10bf7
Compare
48333ca to
a46f16a
Compare
8dec175 to
4b75b9b
Compare
631cda1 to
55eb0d8
Compare
55eb0d8 to
3f1344c
Compare
3f1344c to
f1081fd
Compare
f1081fd to
eb196fe
Compare
eb196fe to
3a37d31
Compare
3a37d31 to
846a2c1
Compare
3ba4601 to
c50f796
Compare
4b29bb0 to
1c7eb7b
Compare
968e5b5 to
9214caf
Compare
7276613 to
0130731
Compare
0130731 to
21d11f0
Compare
21d11f0 to
f9b1aa4
Compare
✅
|
| Descriptor | Linter | Files | Fixed | Errors | Max errors | Warnings | Elapsed time |
|---|---|---|---|---|---|---|---|
| ✅ BASH | shellcheck | 2 | 0 | 0 | 0.02s | ||
| ✅ BASH | shfmt | 2 | 0 | 0 | 0 | 2.19s | |
| jscpd | yes | 1241 | no | 4.85s | |||
| jsonlint | 250 | 1 | 0 | 0.2s | |||
| ✅ JSON | prettier | 250 | 230 | 0 | 0 | 10.66s | |
| ✅ JSON | v8r | 250 | 0 | 0 | 13.71s | ||
| rumdl | 139 | 0 | 1 | 0 | 2.24s | ||
| ruff | yes | yes | 424 | no | 1.11s | ||
| ✅ PYTHON | ruff-format | yes | yes | no | no | 0.22s | |
| ✅ REPOSITORY | git_diff | yes | no | no | 2.36s | ||
| cspell | 728 | 993 | 0 | 18.15s |
Detailed Issues
⚠️ SPELL / cspell - 993 errors
rc/15-analyze-stable-neo-hookean-resolution.py:454:45 - Unknown word (toarray) -- -factor.solve(mixed.toarray())
Suggestions: [tarry, torbay, Torbay, asarray, ndarray]
exp/2026/08/24/unreachable-stable-neo-hookean-2d-resolution/src/15-analyze-stable-neo-hookean-resolution.py:466:28 - Unknown word (lstsq) -- projection = np.linalg.lstsq(response, target, rcond
Suggestions: [lats, lets, lits, lots, lstm]
exp/2026/08/24/unreachable-stable-neo-hookean-2d-resolution/src/15-analyze-stable-neo-hookean-resolution.py:466:52 - Unknown word (rcond) -- lstsq(response, target, rcond=relative_tolerance)
Suggestions: [cond, cron, crone, cronk, crons]
exp/2026/08/24/unreachable-stable-neo-hookean-2d-resolution/src/15-analyze-stable-neo-hookean-resolution.py:566:16 - Unknown word (genfromtxt) -- np.genfromtxt(case.case_dir / "top
Suggestions: []
exp/2026/08/24/unreachable-stable-neo-hookean-2d-resolution/src/15-analyze-stable-neo-hookean-resolution.py:574:16 - Unknown word (genfromtxt) -- np.genfromtxt(case.case_dir / "top
Suggestions: []
exp/2026/08/24/unreachable-stable-neo-hookean-2d-resolution/src/15-analyze-stable-neo-hookean-resolution.py:758:137 - Unknown word (Ainv) -- positive-definite symmetric Ainv on every muscle triangle
Suggestions: [ainu, Ainu, ain, Ain, Minv]
exp/2026/08/24/unreachable-stable-neo-hookean-2d-resolution/src/25-render-stable-neo-hookean-resolution-analysis-paraview.py:4:34 - Unknown word (pvpython) -- with ParaView 6.1.1's pvpython, not the project interpreter
Suggestions: [python, Python, cpython, ipython, PYTHON]
exp/2026/08/24/unreachable-stable-neo-hookean-2d-resolution/src/25-render-stable-neo-hookean-resolution-analysis-paraview.py:67:65 - Unknown word (IHDR) -- or header[12:16] != b"IHDR":
Suggestions: [DHDR, XHDR, hide, HIDE, HIDER]
exp/2026/08/24/unreachable-stable-neo-hookean-2d-resolution/src/25-render-stable-neo-hookean-resolution-analysis-paraview.py:129:18 - Unknown word (ainv) -- "min_det_ainv",
Suggestions: [ainu, Ainu, ain, minv, Ain]
exp/2026/08/24/unreachable-stable-neo-hookean-2d-resolution/src/25-render-stable-neo-hookean-resolution-analysis-paraview.py:152:66 - Unknown word (ainv) -- min_det_g", "min_det_ainv")
Suggestions: [ainu, Ainu, ain, minv, Ain]
exp/2026/08/24/unreachable-stable-neo-hookean-2d-resolution/src/25-render-stable-neo-hookean-resolution-analysis-paraview.py:392:56 - Unknown word (unregularized) -- singular-value spectra (unregularized free-control map)",
Suggestions: [unregulated]
src/liblaf/apple/inverse/_diff_forward.py:92:9 - Unknown word (rprecondition) -- def rprecondition(self, p_free: Free)
Suggestions: [precondition, preCondition, PRECONDITION, recondition, rpreconditioner]
src/liblaf/apple/inverse/_diff_forward.py:99:21 - Unknown word (rprecondition) -- return self.rprecondition(p_free)
Suggestions: [precondition, preCondition, PRECONDITION, recondition, rpreconditioner]
src/liblaf/apple/warp/fem/__init__.pyi:4:8 - Unknown word (koiter) -- from ._koiter import Koiter
Suggestions: [kiter, goiter, loiter, dotier, goitre]
src/liblaf/apple/warp/fem/__init__.pyi:4:22 - Unknown word (Koiter) -- from ._koiter import Koiter
Suggestions: [Kiter, Goiter, Loiter, Dotier, Goitre]
src/liblaf/apple/warp/fem/__init__.pyi:11:6 - Unknown word (Koiter) -- "Koiter",
Suggestions: [Kiter, Goiter, Loiter, Dotier, Goitre]
src/liblaf/apple/warp/fem/_koiter.py:349:16 - Unknown word (Koiter) -- msg = "Koiter triangle rest metric
Suggestions: [Kiter, Goiter, Loiter, Dotier, Goitre]
src/liblaf/apple/warp/fem/_koiter.py:381:7 - Unknown word (Koiter) -- class Koiter(WarpPotential):
Suggestions: [Kiter, Goiter, Loiter, Dotier, Goitre]
src/liblaf/apple/warp/fem/_koiter.py:382:64 - Unknown word (Lamé) -- supplied effective in-plane Lamé moduli.
Suggestions: [Lame, Lama, lamb, Lamb, Lamp]
src/liblaf/apple/warp/fem/_koiter.py:455:19 - Unknown word (Koiter) -- f"Koiter expects triangle cells
Suggestions: [Kiter, Goiter, Loiter, Dotier, Goitre]
tests/warp/test_koiter.py:136:10 - Unknown word (koiter) -- def test_koiter_activation_conversion
Suggestions: [kiter, goiter, loiter, dotier, goitre]
tests/warp/test_koiter.py:138:39 - Unknown word (Koiter) -- apple.warp.fem import Koiter
Suggestions: [Kiter, Goiter, Loiter, Dotier, Goitre]
tests/warp/test_koiter.py:143:14 - Unknown word (Koiter) -- direct = Koiter.from_pyvista(_make_mesh
Suggestions: [Kiter, Goiter, Loiter, Dotier, Goitre]
tests/warp/test_koiter.py:144:17 - Unknown word (Koiter) -- converted = Koiter.from_pyvista(_make_mesh
Suggestions: [Kiter, Goiter, Loiter, Dotier, Goitre]
tests/warp/test_koiter.py:154:10 - Unknown word (koiter) -- def test_koiter_zero_activation_has
Suggestions: [kiter, goiter, loiter, dotier, goitre]
tests/warp/test_koiter.py:156:39 - Unknown word (Koiter) -- apple.warp.fem import Koiter
Suggestions: [Kiter, Goiter, Loiter, Dotier, Goitre]
tests/warp/test_koiter.py:163:17 - Unknown word (Koiter) -- potential = Koiter.from_pyvista(mesh, thickness
Suggestions: [Kiter, Goiter, Loiter, Dotier, Goitre]
tests/warp/test_koiter.py:174:10 - Unknown word (koiter) -- def test_koiter_homogeneous_patch_matches
Suggestions: [kiter, goiter, loiter, dotier, goitre]
tests/warp/test_koiter.py:208:10 - Unknown word (koiter) -- def test_koiter_prestrain_patch_has
Suggestions: [kiter, goiter, loiter, dotier, goitre]
tests/warp/test_koiter.py:239:10 - Unknown word (koiter) -- def test_koiter_prestrain_keeps_original
Suggestions: [kiter, goiter, loiter, dotier, goitre]
CSpell: Files checked: 559, skipped: 169, Issues found: 993 in 191 files.
You can skip this misspellings by defining the following .cspell.json file at the root of your repository
Of course, please correct real typos before :)
{
"version": "0.2",
"language": "en",
"ignorePaths": [
"**/node_modules/**",
"**/vscode-extension/**",
"**/.git/**",
"**/.pnpm-lock.json",
".vscode",
"package-lock.json",
"megalinter-reports"
],
"words": [
"Ainv",
"Armijo",
"Cupy",
"Eboundary",
"Efat",
"Eint",
"Emin",
"Esmas",
"Exponentiating",
"Freudenthal",
"IHDR",
"KOITER",
"Koiter",
"Lam\u00e9",
"Lres",
"Nyquist",
"O\u00f1ate",
"PVBATCH",
"RGBA",
"Tikhonov",
"Unreachability",
"VTKHDF",
"Viridis",
"ainv",
"atol",
"axvline",
"bbox",
"bmatrix",
"clim",
"cmap",
"cupy",
"efat",
"eigen",
"eigenstrain",
"evals",
"ffprobe",
"fftfreq",
"frameon",
"genfromtxt",
"hanning",
"imshow",
"infty",
"injective",
"interp",
"isface",
"isfixed",
"issubdtype",
"koiter",
"libx",
"linf",
"lstsq",
"mathrm",
"movflags",
"ndimage",
"nyquist",
"poroelastic",
"pvbatch",
"pvpython",
"rcond",
"regularised",
"remesh",
"remeshed",
"remeshing",
"rfft",
"rfftfreq",
"rprecondition",
"slugification",
"splu",
"toarray",
"tobytes",
"tris",
"undeformed",
"unreachability",
"unregularized",
"unsmoothed",
"viridis",
"viscoelastic",
"vmax",
"vmin",
"vtkhdf",
"vtkmodules",
"wspace",
"xtick",
"xticks",
"xytext",
"yscale",
"ytick",
"zorder"
]
}
You can also copy-paste megalinter-reports/LINTER_DEFAULT at the root of your repository
(Truncated to last 8000 characters out of 224212)
⚠️ COPYPASTE / jscpd - 1241 errors
ender-stable-neo-hookean-resolution-paraview.py [647:70 - 655:14] (9 lines, 70 tokens)
exp/2026/08/24/unreachable-stable-neo-hookean-2d-resolution/src/20-render-stable-neo-hookean-resolution-paraview.py [703:81 - 711:14]
Clone found (python)
- exp/2026/08/24/unreachable-stable-neo-hookean-2d-resolution/src/20-render-stable-neo-hookean-resolution-paraview.py [934:5 - 953:39] (20 lines, 108 tokens)
exp/2026/08/24/unreachable-stable-neo-hookean-2d-resolution/src/25-render-stable-neo-hookean-resolution-analysis-paraview.py [217:5 - 236:39]
Clone found (python)
- src/liblaf/apple/warp/fem/_arap.py [7:33 - 21:74] (15 lines, 63 tokens)
src/liblaf/apple/warp/fem/_neo_hookean.py [7:41 - 21:74]
Clone found (python)
- src/liblaf/apple/warp/fem/_arap.py [89:53 - 121:6] (33 lines, 187 tokens)
src/liblaf/apple/warp/fem/_neo_hookean.py [118:55 - 150:6]
Clone found (python)
- src/liblaf/apple/warp/fem/_base.py [116:50 - 125:50] (10 lines, 58 tokens)
src/liblaf/apple/warp/fem/_koiter.py [471:66 - 480:50]
Clone found (python)
- src/liblaf/apple/warp/fem/_base.py [125:50 - 134:50] (10 lines, 58 tokens)
src/liblaf/apple/warp/fem/_koiter.py [480:66 - 489:50]
Clone found (python)
- src/liblaf/apple/warp/fem/_base.py [134:50 - 143:53] (10 lines, 66 tokens)
src/liblaf/apple/warp/fem/_koiter.py [489:66 - 498:53]
Clone found (python)
- src/liblaf/apple/warp/fem/_base.py [143:53 - 152:53] (10 lines, 66 tokens)
src/liblaf/apple/warp/fem/_koiter.py [498:69 - 507:53]
Clone found (python)
- src/liblaf/apple/warp/fem/_base.py [166:40 - 172:70] (7 lines, 56 tokens)
src/liblaf/apple/warp/fem/_base.py [189:37 - 195:70]
Clone found (python)
- src/liblaf/apple/warp/fem/_base.py [166:31 - 172:70] (7 lines, 58 tokens)
src/liblaf/apple/warp/fem/_base.py [211:31 - 217:70]
Clone found (python)
- src/liblaf/apple/warp/fem/_base.py [166:40 - 173:54] (8 lines, 67 tokens)
src/liblaf/apple/warp/fem/_base.py [235:36 - 242:71]
Clone found (python)
- src/liblaf/apple/warp/fem/_base.py [167:9 - 172:70] (6 lines, 54 tokens)
src/liblaf/apple/warp/fem/_base.py [266:9 - 271:70]
Clone found (python)
- src/liblaf/apple/warp/fem/_base.py [191:13 - 197:19] (7 lines, 60 tokens)
src/liblaf/apple/warp/fem/_base.py [237:13 - 243:22]
Clone found (python)
- src/liblaf/apple/warp/fem/_base.py [262:14 - 269:67] (8 lines, 67 tokens)
src/liblaf/apple/warp/fem/_base.py [292:14 - 299:67]
Clone found (python)
- src/liblaf/apple/warp/fem/_base.py [296:9 - 302:70] (7 lines, 65 tokens)
src/liblaf/apple/warp/fem/_base.py [327:9 - 333:70]
Clone found (python)
- src/liblaf/apple/warp/fem/_koiter.py [140:6 - 168:32] (29 lines, 254 tokens)
src/liblaf/apple/warp/fem/_koiter.py [258:6 - 279:16]
Clone found (python)
- src/liblaf/apple/warp/fem/_koiter.py [144:32 - 149:62] (6 lines, 68 tokens)
src/liblaf/apple/warp/fem/_koiter.py [163:28 - 168:62]
Clone found (python)
- src/liblaf/apple/warp/fem/_koiter.py [158:17 - 170:33] (13 lines, 118 tokens)
src/liblaf/apple/warp/fem/_koiter.py [180:22 - 192:22]
Clone found (python)
- src/liblaf/apple/warp/fem/_koiter.py [159:6 - 168:62] (10 lines, 100 tokens)
src/liblaf/apple/warp/fem/_koiter.py [220:6 - 229:62]
Clone found (python)
- src/liblaf/apple/warp/fem/_koiter.py [190:53 - 195:11] (6 lines, 64 tokens)
src/liblaf/apple/warp/fem/_koiter.py [231:25 - 236:7]
Clone found (python)
- src/liblaf/apple/warp/fem/_koiter.py [233:7 - 242:11] (10 lines, 111 tokens)
src/liblaf/apple/warp/fem/_koiter.py [271:7 - 280:9]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [1:1 - 28:15] (28 lines, 152 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean.py [1:1 - 28:15]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [29:51 - 39:15] (11 lines, 66 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean.py [29:58 - 39:15]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [39:44 - 60:15] (22 lines, 114 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean.py [39:47 - 60:15]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [53:1 - 62:70] (10 lines, 96 tokens)
src/liblaf/apple/warp/fem/_neo_hookean.py [74:78 - 83:70]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [53:11 - 62:70] (10 lines, 92 tokens)
src/liblaf/apple/warp/fem/_neo_hookean.py [93:14 - 102:70]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [62:63 - 83:21] (22 lines, 150 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean.py [62:22 - 83:29]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [83:63 - 102:21] (20 lines, 152 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean.py [83:22 - 102:29]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [102:63 - 110:6] (9 lines, 55 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean.py [102:22 - 110:6]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [110:17 - 150:6] (41 lines, 256 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean.py [110:23 - 150:6]
Clone found (python)
- src/liblaf/apple/warp/fem/_neo_hookean.py [116:43 - 150:6] (35 lines, 216 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [135:10 - 169:6]
Clone found (python)
- src/liblaf/apple/warp/fem/_stable_neo_hookean.py [25:18 - 34:78] (10 lines, 83 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [27:18 - 36:78]
Clone found (python)
- src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [21:28 - 26:7] (6 lines, 51 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [102:36 - 108:6]
Clone found (python)
- src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [36:67 - 41:28] (6 lines, 52 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [57:1 - 62:28]
Clone found (python)
- src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [36:35 - 45:18] (10 lines, 104 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [81:46 - 92:29]
Clone found (python)
- src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [57:11 - 70:26] (14 lines, 98 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [103:14 - 115:35]
Clone found (python)
- src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [86:14 - 94:12] (9 lines, 55 tokens)
src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [108:14 - 116:12]
┌────────┬────────────────┬─────────────┬──────────────┬──────────────┬──────────────────┬───────────────────┐
│ Format │ Files analyzed │ Total lines │ Total tokens │ Clones found │ Duplicated lines │ Duplicated tokens │
├────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ bash │ 1 │ 38 │ 74 │ 0 │ 0 (0.00%) │ 0 (0.00%) │
├────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ csv │ 103 │ 17919 │ 665083 │ 22 │ 2972 (16.59%) │ 94530 (14.21%) │
├────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ python │ 283 │ 116285 │ 730954 │ 1219 │ 27903 (24.00%) │ 193935 (26.53%) │
├────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ toml │ 5 │ 919 │ 2340 │ 0 │ 0 (0.00%) │ 0 (0.00%) │
├────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ Total: │ 392 │ 135161 │ 1398451 │ 1241 │ 30875 (22.84%) │ 288465 (20.63%) │
└────────┴────────────────┴─────────────┴──────────────┴──────────────┴──────────────────┴───────────────────┘
Found 1241 clones.
HTML report saved to megalinter-reports/copy-paste/jscpd-report.html
ERROR: jscpd found too many duplicates (22.8%) over threshold (0.0%)
time: 1.95s
(Truncated to last 8000 characters out of 293478)
⚠️ JSON / jsonlint - 1 error
File: exp/2026/06/17/human-face-smile-prestrain-v2/data/19-smoke-baseline-inverse-summary.json
Parse error on line 73, column 35:
..._displacement/max": NaN, "initial_...
-----------------------^
No value found for key "initial_displacement/max"
⚠️ PYTHON / ruff - 424 errors
opyright notice at top of file
--> src/liblaf/apple/common/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/common/_moduli.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/common/_potential_name.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/common/attr_name.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/forward/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/forward/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/forward/_builder.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/forward/_forward.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/forward/_model.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/forward/_problem.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/forward/dof_map/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/forward/dof_map/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/forward/dof_map/_builder.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/forward/dof_map/_dof_map.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/inverse/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/inverse/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/inverse/_diff_forward.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/element/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/element/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/element/_element.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/element/_tetra.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/geometry/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/geometry/_geometry.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/geometry/_tetra.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/geometry/_triangle.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/quadrature/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/quadrature/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/quadrature/_scheme.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/quadrature/_tetra.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/region/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/region/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/region/_region.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/utils/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/utils/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/utils/_decorator.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/_arap.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/_base.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/_koiter.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/_neo_hookean.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/_stable_neo_hookean.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_deformation.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_gradient.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_hess_diag.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_hess_prod.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_hess_quad.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_identity.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_misc.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/utils/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/utils/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/utils/_material.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/math/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/math/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/math/_misc.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/math/_rotation.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/model/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/model/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/model/_adapter.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/model/_material.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/model/_model.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/model/_potential.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/potential/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/potential/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/potential/_ext_force.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/utils/__init__.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/utils/__init__.pyi:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/utils/_dtype.py:1:1
CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/utils/_struct.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/common/test_moduli.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/forward/test_static_simulation.py:1:1
CPY001 Missing copyright notice at top of file
--> tests/warp/test_koiter.py:1:1
Found 424 errors.
No fixes available (43 hidden fixes can be enabled with the `--unsafe-fixes` option).
(Truncated to last 8000 characters out of 83209)
⚠️ MARKDOWN / rumdl - 1 error
exp/2026/08/18/human-face-smile-plane-stress-skin/docs/00-plane-stress-preflight.md:132:1: [MD057] Relative link '../tmp/preflight/skin-domain-overlay.png' does not exist
exp/2026/08/18/human-face-smile-plane-stress-skin/docs/00-plane-stress-preflight.md:315:21: [MD057] Relative link '../data/10-corrected-baseline/skin-isface-e0200-p000.vtp' does not exist
[inline config warning] exp/2026/08/18/human-face-smile-plane-stress-skin/docs/15-forward-domain-conversion-probe.md:71: Rule MD013 is not enabled in configuration, so the inline enable comment enabling it has no effect
[inline config warning] exp/2026/08/18/human-face-smile-plane-stress-skin/docs/15-forward-domain-conversion-probe.md:157: Rule MD013 is not enabled in configuration, so the inline enable comment enabling it has no effect
[inline config warning] exp/2026/08/18/human-face-smile-plane-stress-skin/docs/15-forward-domain-conversion-probe.md:178: Rule MD013 is not enabled in configuration, so the inline enable comment enabling it has no effect
[inline config warning] exp/2026/08/18/human-face-smile-plane-stress-skin/docs/15-forward-domain-conversion-probe.md:194: Rule MD013 is not enabled in configuration, so the inline enable comment enabling it has no effect
[inline config warning] exp/2026/08/18/human-face-smile-exaggerated-material-screen/docs/10-exaggerated-material-screen.md:93: Rule MD013 is not enabled in configuration, so the inline enable comment enabling it has no effect
[inline config warning] exp/2026/08/18/human-face-smile-exaggerated-material-screen/docs/10-exaggerated-material-screen.md:134: Rule MD013 is not enabled in configuration, so the inline enable comment enabling it has no effect
[inline config warning] exp/2026/08/18/human-face-smile-exaggerated-material-screen/docs/10-exaggerated-material-screen.md:220: Rule MD013 is not enabled in configuration, so the inline enable comment enabling it has no effect
[inline config warning] exp/2026/08/18/human-face-smile-exaggerated-material-screen/docs/10-exaggerated-material-screen.md:234: Rule MD013 is not enabled in configuration, so the inline enable comment enabling it has no effect
[inline config warning] exp/2026/08/18/human-face-smile-exaggerated-material-screen/docs/10-exaggerated-material-screen.md:261: Rule MD013 is not enabled in configuration, so the inline enable comment enabling it has no effect
[inline config warning] exp/2026/08/17/human-face-smile-material-heuristic-sweep/docs/20-material-screen-findings.md:93: Rule MD013 is not enabled in configuration, so the inline enable comment enabling it has no effect
[inline config warning] exp/2026/08/17/human-face-smile-material-heuristic-sweep/docs/20-material-screen-findings.md:124: Rule MD013 is not enabled in configuration, so the inline enable comment enabling it has no effect
[inline config warning] exp/2026/08/17/human-face-smile-material-heuristic-sweep/docs/20-material-screen-findings.md:230: Rule MD013 is not enabled in configuration, so the inline enable comment enabling it has no effect
[inline config warning] exp/2026/08/17/human-face-smile-material-heuristic-sweep/docs/20-material-screen-findings.md:258: Rule MD013 is not enabled in configuration, so the inline enable comment enabling it has no effect
exp/2026/08/18/human-face-smile-plane-stress-skin/docs/15-forward-domain-conversion-probe.md:130:10: [MD057] Relative link '../logs/15-forward-domain-conversion-probe.log' does not exist
exp/2026/08/18/human-face-smile-plane-stress-skin/docs/15-forward-domain-conversion-probe.md:131:10: [MD057] Relative link '../logs/16-analyze-domain-conversion-probe.log' does not exist
exp/2026/08/18/human-face-smile-plane-stress-skin/docs/20-hard-fixed-zero-step-smoke.md:40:25: [MD057] Relative link '../data/10-corrected-baseline/skin-isface-e0200-p000.vtp' does not exist
exp/2026/08/18/human-face-smile-plane-stress-skin/docs/20-hard-fixed-zero-step-smoke.md:99:31: [MD057] Relative link '../tmp/hard-fixed-smoke-v3/20-corrected-baseline-hard-fixed-smoke-summary.json' does not exist
[inline config warning] exp/2026/08/18/human-face-smile-plane-stress-skin/docs/30-corrected-baseline-screen.md:53: Rule MD013 is not enabled in configuration, so the inline enable comment enabling it has no effect
[inline config warning] exp/2026/08/18/human-face-smile-plane-stress-skin/docs/30-corrected-baseline-screen.md:120: Rule MD013 is not enabled in configuration, so the inline enable comment enabling it has no effect
exp/2026/08/17/human-face-smile-material-heuristic-sweep/docs/20-material-screen-findings.md:369:46: [MD057] Relative link '../logs/30-analyze-material-screen.log' does not exist
exp/2026/08/19/human-face-smile-selective-skin-energy-prestrain-inverse/docs/40-selective-skin-prestrain-inverse-findings.md:156:41: [MD057] Relative link '../tmp/20-selective-skin-prestrain-smoke/' does not exist
exp/2026/08/19/human-face-smile-selective-skin-energy-prestrain-inverse/docs/40-selective-skin-prestrain-inverse-findings.md:158:44: [MD057] Relative link '../tmp/20-selective-skin-prestrain-smoke-v2/' does not exist
exp/2026/08/19/human-face-smile-selective-skin-energy-prestrain-inverse/docs/40-selective-skin-prestrain-inverse-findings.md:182:43: [MD057] Relative link '../logs/20-inverse-selective-skin-prestrain.log' does not exist
exp/2026/08/19/human-face-smile-fixed-activation-prestrain-replay/docs/20-fixed-activation-prestrain-replay-findings.md:125:26: [MD057] Relative link '../logs/10-fixed-activation-prestrain-replay.log' does not exist
exp/2026/08/19/human-face-smile-fixed-activation-prestrain-replay/docs/20-fixed-activation-prestrain-replay-findings.md:126:16: [MD057] Relative link '../logs/20-analyze-fixed-activation-prestrain-replay.log' does not exist
exp/2026/08/19/material-physics-group-meeting-assets/docs/10-lame-assets.md:107:13: [MD057] Relative link '../logs/10-lame-run.log' does not exist
Issues: Found 13 issues in 7/139 files (259ms)
Notices
GIT. See Removed linters to find their replacements.
See detailed reports in MegaLinter artifacts

Show us your support by starring ⭐ the repository
updates: - [github.com/astral-sh/ruff-pre-commit: v0.15.16 → v0.16.5](astral-sh/ruff-pre-commit@v0.15.16...v0.16.5) - [github.com/oxc-project/mirrors-oxfmt: v0.54.0 → v0.65.0](oxc-project/mirrors-oxfmt@v0.54.0...v0.65.0) - [github.com/oxc-project/mirrors-oxlint: v1.69.0 → v1.60.0](oxc-project/mirrors-oxlint@v1.69.0...v1.60.0) - [github.com/rvben/rumdl-pre-commit: v0.2.10 → v0.2.62](rvben/rumdl-pre-commit@v0.2.10...v0.2.62) - [github.com/shellcheck-py/shellcheck-py: v0.11.0.1 → v0.11.0.1-1](shellcheck-py/shellcheck-py@v0.11.0.1...v0.11.0.1-1)
for more information, see https://pre-commit.ci
updates: